/*
 * @(#)TablesDao.java   1.0  2021年11月12日
 * 
 * Copyright (c)	2014-2020. All Rights Reserved.	GuangZhou hhmk Technology Company LTD.
 */
package com.swift.dts.dao;

import java.util.List;

import com.swift.dts.loadconfig.model.TablesConfig;
import com.swift.dts.model.Table;

/**
 * 添加说明 
 * @author zhengjiajin
 * @version 1.0 2021年11月12日
 */
public interface TablesDao {
    
    public static final String synTable = "synTable";
    
    public static final String blackFilter = "blackFilter";
    
    public static final String onlyDdlFilter = "onlyDdlFilter";
    
    public static final String[] database_table = {"sys","performance_schema","mysql","information_schema","wqsystem-release"};
    
    public static final String SYS_DB_TABLE="sys\\..*,information_schema\\..*,innodb\\..*,mysql\\..*,performance_schema\\..*,.*\\.swift_dts_log_event_table";
    
    public List<TablesConfig> list();
    
    public void save(List<TablesConfig> list);
    
    public List<String> getAllDb(String dataSource);
    
    public List<Table> getAllTables(String dataSource);
    //所有需要同步的表
    public List<Table> getAllSynTables(String dataSource);
    //所有不需要同步的表
    public List<Table> getAllNotSynTables(String dataSource);
    
}
